package com.woniuxy.micromallserver.ordermag.service;

import com.woniuxy.common.bean.PageDto;
import com.woniuxy.micromallserver.bean.OrderBean;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;

/**
 * @author unreleased
 * @date 2021/1/25 17:51
 */
public interface IOrderService {
    /**
     * 按条件查询订单列表
     * @param orderBean 携带查询参数的orderBean
     * @param pageNum  页码数
     * @param pageSize 每页条数
     * @return 分页PageDto
     */
    PageDto findOrderListByParams(OrderBean orderBean,Integer pageNum,Integer pageSize);

    /**
     * 订单发货 更改订单状态
     * @param deliveryId 物流单号
     * @param id 订单id
     * @param receiveTel  收货人电话
     * @return 是否更改成功
     */
    boolean updateDelivery (@Param("deliveryId") String deliveryId, @Param("id")Long id,String receiveTel);

    /**
     * 根据参数修改订单
     * @param orderBean 修改信息
     * @return 修改成功
     */
    boolean updateOrder(@Param("o") OrderBean orderBean);

    /**
     * 查询未发货订单数量
     * @return 数量
     */
    int waitSendingOrderNums();

    /**
     * 查询本月销售额
     * @return 金额
     */
    BigDecimal findCurrentMonthSales();

    /**
     * 关闭所有订单
     * @param ids 多选的id
     * @return 修改的结果
     */
    boolean closeAllOrders(int[] ids);
}
